package com.xique.door.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xique.door.bean.domain.Area;
import com.xique.door.bean.domain.ParkInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 地区码Mapper接口
 *
 * @author ww
 * @date 2019-10-06
 */
@Repository
public interface AreaMapper extends BaseMapper<Area> {
  /**
   * 查询地区码
   *
   * @param areaId 地区码ID
   * @return 地区码
   */
  public Area selectAreaById(Long areaId);

  /**
   * 根据id查找地区
   *
   * @author shd
   * @date 2021/12/22 14:17
   * @param areaIds
   * @return java.util.List<com.xique.door.bean.domain.Area>
   */
  List<Area> selectAreaByIds(List<Long> areaIds);

  /**
   * 根据地址编号查询地址信息
   *
   * @param code 地址码编号
   * @return
   */
  public Area selectAreaByCode(String code);

  /**
   * 查询地区码列表
   *
   * @param tArea 地区码
   * @return 地区码集合
   */
  public List<Area> selectAreaList(Area tArea);

  /**
   * 新增地区码
   *
   * @param tArea 地区码
   * @return 结果
   */
  public int insertArea(Area tArea);

  /**
   * 修改地区码
   *
   * @param tArea 地区码
   * @return 结果
   */
  public int updateArea(Area tArea);

  /**
   * 删除地区码
   *
   * @param areaId 地区码ID
   * @return 结果
   */
  public int deleteAreaById(Long areaId);

  /**
   * 批量删除地区码
   *
   * @param areaIds 需要删除的数据ID
   * @return 结果
   */
  public int deleteAreaByIds(String[] areaIds);

  public List<Area> selectTAreaByIds(@Param("areaIds") List<Long> areaIds);

  /**
   * 根据地名查询对应地区
   *
   * @author shd
   * @date 2022/3/24 10:14
   * @param names
   * @return java.util.List<com.xique.door.bean.domain.Area>
   */
  List<Area> selectAreaByNames(@Param("names") List<String> names);
  /** 根据定位的经纬度获取小区list */
  List<ParkInfo> selectParkInfoList(
      @Param("longitude") String longitude, @Param("latitude") String latitude);
}
